package cn.cvs.dao;

import cn.cvs.pojo.Record;
import cn.cvs.pojo.Supplier;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

public interface SupMapper {
    /**
     * 记录总数
     * @return
     */
    public int count();

    /**
     * 查询所有
     * @return
     */
    public List<Supplier> getSupList();

    /**
     * 查询所有列表
     * @return
     */
    public List<Record> getRecList(Record record);

    /**
     * 查询商品列表
     * @param record
     * @return
     */
    public List<Record> getRecordListWithSupName(Record record);

    /**
     * 上机三
     * @param record
     * @return
     */
    public List<Record> getRecordListByRecord(Record record);

    /**
     * 根据ID查询供货信息列表
     * @param id
     * @return
     */
    public List<Supplier>getSupAndRecordById(@Param("id") Integer id);

    /**
     * 添加供货商
     * @param supplier
     * @return
     */
    public int add(Supplier supplier);

    /**
     * 修改供货商ID
     * @param supplier
     * @return
     */
    public int modify(Supplier supplier);

    /**
     * 删除供货商
     * @param id
     * @return
     */
    public int delect(@Param("id") Integer id);

    /**
     * ch03上机1
     * @param record
     * @return
     */
    public List<Record> getRecordListIf(Record record);

    /**
     * ch03上机2
     * @param supplier
     * @return
     */
    public List<Supplier> getSupWhere(Supplier supplier);

    /**
     * ch03上机3
     * @param supplier
     * @return
     */
    public List<Supplier> getSupChoose(Supplier supplier);

    /**
     * ch03上机4
     * @param id
     * @return
     */
    public List<Supplier> getSupIdArray(Integer[] id);
    public List<Supplier> getSupIdList(List<Integer> id);

    /**
     * ch03上机5
     * @param supMap
     * @return
     */
    public List<Supplier> getSupIdMap(Map<String,Object> supMap);

    /**
     * ch03上机6，7
     * @param supplier
     * @return
     */
    public int update(Supplier supplier);

    /**
     * ch03上机8
     * @param pageBegin
     * @param pageSize
     * @return
     */
    public List<Supplier> selectPageSup(@Param("pageBegin")Integer pageBegin,@Param("pageSize")Integer pageSize);
    public List<Record> selectPageRecord(@Param("pageBegin")Integer pageBegin,@Param("pageSize")Integer pageSize);
}
